﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoADatos.Entidades;
using AccesoADatos;


namespace ReglasDeNegocio
{
     public class MaquinaLogica
    {
        #region Atributos

        int _idMaquina;
        String _marca;
        String _status;
        decimal _latitud;
        decimal _longitud;
        String _numeroIdentificacion;
        String _descripcion;
        String _rutaImagen;

        #endregion

        #region Encapsulacion



        public int IdMaquina
        {
            get { return _idMaquina; }
            set { _idMaquina = value; }
        }

        public String Marca
        {
            get { return _marca; }
            set { _marca = value; }
        }

        public String Status
        {
            get { return _status; }
            set { _status = value; }
        }

        public decimal Latitud
        {
            get { return _latitud; }
            set { _latitud = value; }
        }

        public decimal Longitud
        {
            get { return _longitud; }
            set { _longitud = value; }
        }

        public String NumeroIdentificacion
        {
            get { return _numeroIdentificacion; }
            set { _numeroIdentificacion = value; }
        }

        public String Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }


        public String RutaImagen
        {
            get { return _rutaImagen; }
            set { _rutaImagen = value; }
        }

        #endregion

        #region Metodos
       
        ///<sumary>
        ///Descripcion:
        ///Variable:
        ///</sumary>

        public List<Maquina> ConsultarStatus()
        {
            //Consultamos en base de datos la lista de los status

            List<Maquina> listaStatus = new List<Maquina>();
            AccesoMaquina accesoMaquina = new AccesoMaquina();
            listaStatus = accesoMaquina.ConsultarAllStatus();

            return listaStatus;

        }

        ///<sumary>
        ///Descripcion:
        ///Variable:
        ///</sumary>

        public List<Maquina> ConsultarMarcas()
        {
            //Consultamos en base de datos la lista de las marcas existentes

            List<Maquina> listaMarcas = new List<Maquina>();
            AccesoMaquina accesoMaquina = new AccesoMaquina();
            listaMarcas = accesoMaquina.ConsultarAllMarcas();

            return listaMarcas;

        }

        ///<summary>
        ///Descripción: Método para pasar los parametros a la capa de datos para su posterior insercion del nuevo usuario
        ///Variable: bool:retorno
        ///</summary>
        public bool InsertarMaquina(Maquina newMaquina)
        {

            bool retorno = false;
            try
            {

                ///Consulta el alias de un usuario en BD

                AccesoMaquina accesoM = new AccesoMaquina();
                retorno = accesoM.AgregarMaquina(newMaquina);
                return retorno;

            }
            catch (ArgumentNullException ValorNulo)///Base de datos retorna valor nulo
            {

            }
            catch (Exception e)///Captura los demas errores
            {

            }

            return retorno;

        }

        #endregion
    }
}
